package com.fs.uc.core.permcheck;

import com.fs.uc.base.domain.FunctionalModule;
import com.fs.uc.base.domain.Permission;
import com.fs.uc.base.domain.Role;

import java.util.Set;

/**
 * @author 崔超
 * 2021/12/9
 */
public interface IPermissionChecker {
    Set<FunctionalModule> getAuthorizedModule(Long subjectId);

    Set<Role> getRoles(Long subjectId);

    Set<Permission> getPermissions(Long subjectId);

    boolean checkPermission(Long subjectId, String action, String resource);

    SubjectInfo getSubjectInfo(Long subjectId);
}
